The sound from a loudspeaker can be reflected or coupled back to a microphone after some finite delay, producing an echo. Many modern audio devices include circuits known as acoustic echo cancelers, for reducing or eliminating the effects of such echoes. In an ideal case, the echo corresponds to the electrical signal causing the loudspeaker to generate the sound and the audio device (including loudspeaker, enclosure, and microphone) may be assumed to have a linear response to such electrical signal. However, in reality, most audio transducers, such as microphones and loudspeakers, and components used in devices including microphones and loudspeakers (e.g., power amplifiers used to drive loudspeakers) are nonlinear, even when operated in their optimum operating ranges.
These nonlinear effects may significantly reduce the performance of acoustic echo cancelers, particularly in mobile phones and hands-free kits for mobile phones, as such devices may often use inexpensive, low-quality loudspeakers that may be poorly isolated from the remainder of the audio device. When such a loudspeaker is overdriven, saturation effects associated with the loudspeaker and its amplifier distort sound in a nonlinear manner. An acoustic echo of such sound contains a mixture of linear and nonlinear components. A typical acoustic echo canceler estimates only the linear acoustic impulse response of the loudspeaker-enclosure-microphone system. The remaining nonlinear components can be large and audible, particularly at high volumes.
Several approaches have been used to cancel the nonlinear echo. One approach is nonlinear preprocessing of the signal to the loudspeaker. This method attempts to compensate for known nonlinear characteristics. Such predistortion can degrade the quality of speech or loudness from a loudspeaker. Another approach is to use a nonlinear adaptive filter. Most or all known techniques of using an adaptive filter to reduce echo have high computational cost and converge slowly, which may render them unsuitable for most real-time applications.